import Vue from 'vue';
import Vuex from 'vuex';

Vue.use(Vuex);

import app from './modules/app';
import session from './modules/session/session';
import account from './modules/administration/user/account';
import role from './modules/administration/role/role';
import user from './modules/administration/user/user';
import permission from './modules/administration/permission/permission';
import ou from './modules/administration/organization-unit/o-u';
import audit from './modules/administration/audit-log/audit';
import cache from './modules/administration/maintenance/cache';
import log from './modules/administration/maintenance/log';
import notification from './modules/other/notification/notification';
import setting from './modules/administration/setting/setting';
import flowData from './modules/flow/flow-data/flow';
import flowInstance from './modules/flow/flow-instance/flow-instance';
import flowScheme from './modules/flow/flow-scheme/flow-scheme';
import dictionaryCategory from './modules/administration/dictionary/dictionary-category';
import dictionary from './modules/administration/dictionary/dictionary';
import book from './modules/book/book';
import formScheme from './modules/form/form-scheme/form-scheme';

const store = new Vuex.Store({
    state: {},
    mutations: {},
    getters: {},
    actions: {},
    modules: {
        app,
        session,
        account,
        role,
        user,
        permission,
        ou,
        audit,
        cache,
        log,
        notification,
        setting,
        flowData,
        flowInstance,
        flowScheme,
        dictionaryCategory,
        dictionary,
        book,
        formScheme,
    },
});

export default store;
